﻿//using BlockeyEssentials;
//using BlockeyEssentials.Drawing;
//using BlockeyEssentials.Input;
//using BlockeyEssentials.ScreenSystem;
//using BlockeyEssentials.ScreenSystem.ScreenTypes;
//using Microsoft.Xna.Framework;
//using Microsoft.Xna.Framework.Graphics;
//using Microsoft.Xna.Framework.Input;
//using Blockey.ScreenManagers;
//using Blockey.GameplayScreens;

//namespace Blockey.MenuSystemScreens
//{
//    public class PauseMenuScreen : MenuScreen
//    {
//        public PauseMenuScreen(ScreenManager oManager, MatchScreen3D oParent)
//            : base(oManager, "Pause")
//        {
//            _MatchScreen = oParent;

//            for (MenuItem oOption = MenuItem.Resume; oOption <= MenuItem.Exit; oOption++)
//            {
//                _Options.Add(oOption.ToString().ToUpper());
//            }

//            int oWidth = 700;
//            int oHeight = 400;

//            _TextFont = new Font(All.Font_Debug);
//            _TextFont.Color = Color.Black;
//            _TextFont.Layer = 95;

//            var oBounds = new Rectangle(
//                All.Resolution.Center.X - (oWidth / 2),
//                All.Resolution.Center.Y - (oHeight / 2),
//                oWidth,
//                oHeight);

//            //-------- Background --------//
//            _BackgroundSprite = new SpriteR(All.Texture_Square, oBounds);
//            _BackgroundSprite.Color = Color.Green * 0.8f;
//            _BackgroundSprite.Layer = 90;
//        }

//        #region Methods

//        public override void Update()
//        {
//            if (Active)
//            {
//                Input();
//            }
//        }

//        public override void Draw(SpriteBatch oSB)
//        {
//            _BackgroundSprite.Draw(oSB, Transition);

//            Vector2 oPosition = new Vector2(
//                _BackgroundSprite.Rectangle.Center.X - 200, 
//                _BackgroundSprite.Rectangle.Center.Y - 100);

//            int i = 0;
//            foreach (var oOption in _Options)
//            {
//                _TextFont.Color = (i == _Index) ?
//                    Color.Yellow : Color.White;

//                _TextFont.Draw(oSB, Transition, oPosition, oOption);
                
//                oPosition += Vector2.UnitY * 50;
//                i++;
//            }
//        }

//        protected override void Select()
//        {
//            switch ((MenuItem)_Index)
//            {
//                case MenuItem.Resume:
//                    {
//                        _MatchScreen.UnPause();
//                        break;
//                    }
//                case MenuItem.Exit:
//                    {
//                        _MatchScreen.ExitMatch();
//                        break;
//                    }
//            }
//        }

//        #region Helpers

//        private void Input()
//        {
//            var oUp = false;
//            var oDown = false;
//            var oLeftRight = false;
//            var oSelect = false;

//            var oKeyboardInput = InputManager.Keyboard;
//            if (oKeyboardInput.JustPressed(Keys.Up))
//                oUp = true;
//            if (oKeyboardInput.JustPressed(Keys.Down))
//                oDown = true;
//            if (oKeyboardInput.JustPressed(Keys.Right, Keys.Left))
//                oLeftRight = true;
//            if (oKeyboardInput.JustPressed(Keys.F))
//                oSelect = true;

//            var oGamePadInput = InputManager.GamePad1;
//            if (oGamePadInput.JustPressed(Buttons.DPadUp))
//                oUp = true;
//            if (oGamePadInput.JustPressed(Buttons.DPadDown))
//                oDown = true;
//            if (oGamePadInput.JustPressed(Buttons.DPadLeft, Buttons.DPadRight))
//                oLeftRight = true;
//            if (oGamePadInput.JustPressed(Buttons.A))
//                oSelect = true;

//            if (oUp)
//                IndexDown();

//            if (oDown)
//                IndexUp();

//            if (oSelect)
//                Select();
//        }

//        #endregion

//        #endregion

//        private SpriteR _BackgroundSprite;
//        private Font _TextFont;

//        private MatchScreen3D _MatchScreen;

//        public enum MenuItem
//        {
//            Resume,
//            Exit
//        }



//    }
//}
